<?php

class ProductoActions extends Actions {
  
  public function pageVer(){
    $id = $this->param(0);
    
    if( $this->enviarFichaPorMail($id, $this->param('su_nombre'), $this->param('su_mail'), 
                                       $this->param('nombre'),    $this->param('mail')    ) ) {
        
        // Se envió la ficha por mail
        $this->redirect(HTMLHelper::baseUrl(1).'page/ficha-enviada');
        die();
    }

    $view = new View("ver");
    $view->layout('layout_sitio');

    if($this->param("l")){
      $view = new View("ver_borrar");
      $view->layout(null);
    }
    
    
    $prod = Producto::find(array("id" => $id, "status" => 1));
    
    if(get_class($prod) != "Producto") $this->redirect(Config::get('base_url', '/'));
    
    $view->data->producto = $prod->data();
    $view->data->composicion = $prod->composicion();
    $view->data->imagenes = $prod->imagenes();
    $view->data->laboratorio = $prod->editor();
     
    $view->show(); 
  }
  
  public function pageBuscar(){
    
    if(!$this->param('b')){
      $busq = rand(1, 1000);
      $params = $this->parameters;
      $params['lab'] = rawurldecode($params['lab']);
      $params['pais'] = PaisHelper::pais();
      $params['status'] = 1;
      Session::set('busqueda_'.$busq, $params);
      $this->redirect(Config::get('base_url').'producto/buscar/b_'.$busq.($this->param('ajax')?'/ajax_1':''));
    } else {
      $busq = $this->param('b');
      $params['pais'] = PaisHelper::pais();
      $params['status'] = 1;
      $params = Session::get('busqueda_'.$busq);
    }
    
    $page = max(1, $this->param('page'));
    
    $prod = new Producto();
    $prod->per_page=8;

    if($this->param('ajax')){
      $view = new View('buscador_ajax');
      $view->layout('layout_ajax');
    } else {
      $view = new View('buscador');
      $view->layout('layout_sitio');
    }
    $view->data->busq = $busq;
    $view->data->page = $page;
    $view->data->params = $params;
    $view->data->productos = $prod->buscar( array( 'params' => $params, 'page' => $page ) );
    $view->data->pages = $prod->pages;
    
    $view->show(); 
  }
  
  public function pageListar() {
    $view = new View("listar");
    $view->show(); 
  }
  
  protected function enviarFichaPorMail($id, $su_nombre, $su_mail, $nombre, $mail){
    if(!is_array($mail)) return false;
    
    $destinatarios = array();
    foreach($mail as $k => $dest){
      if(empty($dest)) continue;
      if(!empty($nombre[$k])) {
        $dest = '"'.$nombre[$k].'" <'.$dest.'>';
      }
      $destinatarios[] = $dest; 
    }
    $destinatarios = implode(", ",$destinatarios);
    
    if(empty($destinatarios)) return false;

    $remitente_mail = empty($su_mail)?"recomendados@spatiavademecum.com":$su_mail;
    $remitente_nombre = empty($su_nombre)?"Spatia Vademecum":$su_nombre;
    
    $remitente = '"'.$remitente_nombre.'" <'.$remitente_mail.'>';
    
    $remitente_nombre_legible = empty($su_nombre)?"Alguien":$su_nombre;
    
    $this->
      mail(
        $destinatarios,
        $remitente_nombre_legible." le ha enviado información de Spatia Vademecum",
        $remitente_nombre_legible." le ha enviado información de un producto veterinario de Spatia Vademecum\n".
        "Para acceder a la información haga click en el siguiente link:\n".HTMLHelper::absoluteRoot(1)."producto/ver/".$id,   //body
        'From: "Recomendados Spatia" <recomendados@spatiavademecum.com>'
      );
     
     return true;
  }
  
  protected function mail($to, $subject = '(No subject)', $message = '', $header = '') {
    $header_ = 'MIME-Version: 1.0' . "\r\n" . 'Content-type: text/plain; charset=UTF-8' . "\r\n";
    return mail($to, '=?UTF-8?B?'.base64_encode($subject).'?=', $message, $header_ . $header);
  }

  
  
}
